package main

import "fmt"

func main() {

	var i int32 = 100

	//
	var n1 float32 = float32(i)
	var n2 int8 = int8(i)

	//100 int32 100 float32 100 int8
	fmt.Printf("%v %T %v %T %v %T \n", i, i, n1, n1, n2, n2)

	var n3 int64 = int64(i)
	fmt.Printf("%v %T", n3, n3)

	//高低都可以互相转换
	//转换后, 原变量本身没有发生任何变化, 转换的结果给了新的变量

	//高转低存在溢出,导致结果错误
	var h int64 = 99999999
	var l int8 = int8(h)
	//-1 int8
	fmt.Printf("\n%v %T", l, l)

}
